/**
 * 全局配置文件
 * 集中管理所有环境配置和API地址
 */

// 判断当前运行环境
const ENV = {
  DEV: 'development',     // 开发环境
  TEST: 'testing',        // 测试环境
  PROD: 'production'      // 生产环境
};

// 当前环境，默认为开发环境
const ENV_TYPE = ENV.DEV;

// 不同环境的服务器地址配置
const API_CONFIG = {
  [ENV.DEV]: {
    BASE_URL: 'http://localhost:3000/api',    // 更新为你的本地后端地址
    IMG_BASE_URL: 'http://localhost:3000',    // 更新为你的本地图片服务器地址
  },
  [ENV.TEST]: {
    BASE_URL: 'https://test-api.example.com/api', // 测试环境
    IMG_BASE_URL: 'https://test-api.example.com', // 测试环境图片服务器
  },
  [ENV.PROD]: {
    BASE_URL: 'https://api.example.com/api',      // 生产环境
    IMG_BASE_URL: 'https://api.example.com',      // 生产环境图片服务器
  }
};

// 导出当前环境的API配置
const config = {
  ENV_TYPE: ENV_TYPE,
  API_BASE_URL: API_CONFIG[ENV_TYPE].BASE_URL,
  IMG_BASE_URL: API_CONFIG[ENV_TYPE].IMG_BASE_URL,
  
  // API路径配置
  API: {
    // 首页相关
    HOME: {
      BANNER: '/miniapp/banners',                // 轮播图
    },
    // 用户相关
    USER: {
      LOGIN: '/miniapp/user/login',              // 登录
      INFO: '/miniapp/user/info',                // 用户信息
    },
    // 商品相关
    PRODUCT: {
      LIST: '/miniapp/products',                 // 商品列表（管理后台用）
      RECOMMEND: '/miniapp/products/recommend',  // 推荐商品列表（首页用，区分于管理后台）
      DETAIL: '/miniapp/products/',              // 商品详情，需要拼接ID
    },
    // 分类相关
    CATEGORY: {
      LIST: '/miniapp/categories',               // 分类列表
      DETAIL: '/miniapp/categories/',            // 分类详情，需要拼接ID
      PRODUCTS: '/miniapp/categories/products',  // 分类商品列表
    },
    // 购物车相关
    CART: {
      LIST: '/miniapp/cart',                     // 购物车列表
      ADD: '/miniapp/cart/add',                  // 添加到购物车
      UPDATE: '/miniapp/cart/update',            // 更新购物车
      DELETE: '/miniapp/cart/delete',            // 删除购物车商品
      COUNT: '/miniapp/cart/count',              // 购物车商品数量
    },
    // 订单相关
    ORDER: {
      CREATE: '/miniapp/orders',                 // 创建订单
      LIST: '/miniapp/orders',                   // 订单列表
      DETAIL: '/miniapp/orders/',                // 订单详情，需要拼接ID
      CANCEL: '/miniapp/orders/cancel',          // 取消订单
    }
  }
};

module.exports = config; 